/**
 * MapUntil.java
 * com.eova.until
 * Copyright (c) 2016, 北京聚智未来科技有限公司版权所有.
 */

package com.eova.common.until;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;

/**
 * TODO(这里用一句话描述这个类的作用)
 * <p>
 * TODO(这里描述这个类补充说明 – 可选)
 *
 * @author gyp
 * @Date 2016年12月14日
 * @Time 下午5:36:25
 */
public class MapUntil {
	/**
	 * 返回由对象的属性为key,值为map的value的Map集合
	 * 
	 * @param obj
	 *            Object
	 * @return mapValue Map<String,String>
	 * @throws Exception
	 */
	public static Map<String, String> getFieldVlaue(Object obj) {

		Map<String, String> mapValue = new HashMap<String, String>();
		try {
			Class<?> cls = obj.getClass();
			Field[] fields = cls.getDeclaredFields();
			for (Field field : fields) {
				String name = field.getName();
				String strGet = "get" + name.substring(0, 1).toUpperCase()
						+ name.substring(1, name.length());
				Method methodGet = cls.getDeclaredMethod(strGet);
				Object object = methodGet.invoke(obj);
				String value = object != null ? object.toString() : "";
				mapValue.put(name, value);
			}
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println(e.getMessage());
		}
		return mapValue;
	}

}
